package ApplicationModels;

import java.io.Serializable;

import org.uqbar.commons.model.ObservableUtils;
import org.uqbar.commons.utils.Observable;

import Domain.Disponibilidad;
import Domain.Empleado;
import Domain.Tienda;

@SuppressWarnings("serial")
@Observable
public class EmpleadoAppModel implements Serializable {

	private Empleado empleado;
	private Disponibilidad disponibilidadSeleccionada;
	private Tienda tienda;

	// private List<Empleado> empleados;

	public Empleado getEmpleado() {
		return empleado;
	}

	public void setEmpleado(Empleado empleado) {
		this.empleado = empleado;
	}

	public Disponibilidad getDisponibilidadSeleccionada() {
		return disponibilidadSeleccionada;
	}

	public void setDisponibilidadSeleccionada(
			Disponibilidad disponibilidadSeleccionada) {
		this.disponibilidadSeleccionada = disponibilidadSeleccionada;
	}

	public void setTienda(Tienda tienda) {
		this.tienda = tienda;
	}

	public Tienda getTienda() {
		return this.tienda;
	}

	// public void setEmpleados(ArrayList<Empleado> empleados){
	// this.empleados = empleados;
	// }
	// public List<Empleado> getEmpleados(){
	// return this.empleados;
	// }

	public EmpleadoAppModel(Empleado emp, Tienda t) {
		this.setTienda(t);
		this.setEmpleado(emp);
	}

	public void eliminarDisponibilidadSeleccionada() {
		empleado.removerDisponibilidad(this.getDisponibilidadSeleccionada());
	}

	public void agregarEmpleado() {
		this.getTienda().getEmpleados().add(this.getEmpleado());
		ObservableUtils.firePropertyChanged(this, "empleados", this.getTienda()
				.getEmpleados());
	}
}
